package com.nari.ysphd.util;

import android.content.Context;
import android.text.InputFilter;
import android.text.Spanned;
import android.widget.EditText;
import android.widget.Toast;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

/**
 * Created by Administrator on 2018/5/23.
 */

public class inputFilter implements InputFilter {
    private Context context;
    private EditText editText;
    private int code;

    // TODO: 2018/5/23  code : 1、login 2、IP 3、全部拦截
    public inputFilter(Context context, EditText editText, int code) {
        this.context = context;
        this.editText = editText;
        this.code = code;
    }

    Pattern pattern = Pattern.compile("[^a-zA-Z0-9\\u4E00-\\u9FA5_,.?!:;…~_\\-\"\"/@*+'()<>{}/[/]()<>{}\\[\\]=%&$|\\/♀♂#¥£¢€\"^` ，。？！：；……～" +
            "“”、“（）”、（——）‘’@‘·’＆＊＃《》￥《〈〉》〈＄〉［］￡［］｛｝｛｝￠【】【】％〖〗〖〗／〔〕〔〕＼『』『』＾「」「」｜﹁﹂｀．]");
    Pattern pattern2 = Pattern.compile("[`~!@#$%^&*()+=|{}':;',\\[\\].<>/?~！@#￥%……&*（）——+|{}【】‘；：”“’。，、？§№☆★○●◎◇◇◆□△▲■※＃→←↑-]");
    Pattern pattern3 = Pattern.compile("[`~!@#$%^&*()+=|{}':;',\\[\\]<>/?~！@#￥%……&*（）——+|{}【】‘；：”“’。，、？§№☆★○●◎◇◇◆□△▲■※＃→←↑-]");
    Pattern pattern4 = Pattern.compile("[`~@#$%^&*()+=|{}':;'\\[\\]<>/~！@#￥%……&*（）——+|{}【】‘；：”“’、§№☆★○●◎◇◇◆□△▲■※＃→←↑-]");

    @Override
    public CharSequence filter(CharSequence source, int start, int end, Spanned dest, int dstart, int dend) {
        //表情
        Matcher matcher = pattern.matcher(source);
        //特殊字符
        Matcher matcher2 = pattern2.matcher(source);
        //ip适用
        Matcher matcher3 = pattern3.matcher(source);
        //互动议题
        Matcher matcher4 = pattern4.matcher(source);
        if (code==3) {
            if (!matcher.find()) {
                if (matcher2.find()) {
//                    editText.setError(Comm.getPrompt("请规范输入搜索关键字"));
                    Toast.makeText(context, "非法字符!请规范输入!", Toast.LENGTH_SHORT).show();
                    return "";
                }
                if (source.equals(" ")) {
//                    editText.setError(Comm.getPrompt("请规范输入搜索关键字"));
                    Toast.makeText(context, "非法字符!请规范输入!", Toast.LENGTH_SHORT).show();
                    return "";
                }
                return null;
            } else {
//                editText.setError(Comm.getPrompt("请规范输入搜索关键字"));
                Toast.makeText(context, "非法字符!请规范输入!", Toast.LENGTH_SHORT).show();
                return "";
            }
        }
        if (code==2) {
            if (!matcher.find()) {
                if (matcher3.find()) {
//                    editText.setError(Comm.getPrompt("请规范输入搜索关键字"));
                    Toast.makeText(context, "非法字符!请规范输入!", Toast.LENGTH_SHORT).show();
                    return "";
                }
                if (source.equals(" ")) {
//                    editText.setError(Comm.getPrompt("请规范输入搜索关键字"));
                    Toast.makeText(context, "非法字符!请规范输入!", Toast.LENGTH_SHORT).show();
                    return "";
                }
                return null;
            } else {
//                editText.setError(Comm.getPrompt("请规范输入搜索关键字"));
                Toast.makeText(context, "非法字符!请规范输入!", Toast.LENGTH_SHORT).show();
                return "";
            }
        }
        if (code==1) {
            if (!matcher.find()) {
                if (source.equals(" ")) {
//                    editText.setError(Comm.getPrompt("请规范输入搜索关键字"));
                    Toast.makeText(context, "非法字符!请规范输入!", Toast.LENGTH_SHORT).show();
                    return "";
                }
                return null;
            } else {
//                editText.setError(Comm.getPrompt("请规范输入搜索关键字"));
                Toast.makeText(context, "非法字符!请规范输入!", Toast.LENGTH_SHORT).show();
                return "";
            }
        }
        if (code==4) {
            if (!matcher.find()) {
                if (matcher4.find()) {
//                    editText.setError(Comm.getPrompt("请规范输入搜索关键字"));
                    Toast.makeText(context, "非法字符!请规范输入!", Toast.LENGTH_SHORT).show();
                    return "";
                }
                if (source.equals(" ")) {
//                    editText.setError(Comm.getPrompt("请规范输入搜索关键字"));
                    Toast.makeText(context, "非法字符!请规范输入!", Toast.LENGTH_SHORT).show();
                    return "";
                }
                return null;
            } else {
//                editText.setError(Comm.getPrompt("请规范输入搜索关键字"));
                Toast.makeText(context, "非法字符!请规范输入!", Toast.LENGTH_SHORT).show();
                return "";
            }
        }
      return null;
    }
}

